/**
 * 
 */
package com.kcwx.system.sync;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.Objects;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 版本维护
 * 
 * @author phx
 * @date 2023年3月15日 下午5:39:42
 */
public class VesionUtils {

	protected static Logger logger = LoggerFactory.getLogger(VesionUtils.class);

	/**
	 * 同步数据库
	 * 
	 * @author phx
	 * @date 2023年3月15日 下午5:43:05
	 * @param
	 * @return void
	 */
	public static void sync(Integer version) {
		String fileName = "SQL/V" + version + ".sql";
		URL url = VesionUtils.class.getClassLoader().getResource(fileName);
		if (url != null) {
			logger.info("同步数据库:" + fileName);
			String path = Objects.requireNonNull(url).getPath();
			String sql = readFileToString(new File(path));
			SqlServerJdbcUtils jdbcUtils = new SqlServerJdbcUtils();
			//jdbcUtils.sync(sql);
			jdbcUtils.insert(sql);
		}
	}

	public static String readFileToString(File file) {
		try {
			FileReader fileReader = new FileReader(file);
			Reader reader = new InputStreamReader(new FileInputStream(file), "utf-8");
			int ch = 0;
			StringBuffer stringBuffer = new StringBuffer();
			while ((ch = reader.read()) != -1) {
				stringBuffer.append((char) ch);
			}
			fileReader.close();
			reader.close();
			String jsonString = stringBuffer.toString();
			return jsonString;
		} catch (FileNotFoundException e) {
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "";
	}
}
